Apache Commons Collections লাইব্রেরি Java এর স্ট্যান্ডার্ড Collections Framework এর উপর বেশ কিছু উন্নত এবং শক্তিশালী complex operations পরিচালনা করার ক্ষমতা প্রদান করে। এটি বিভিন্ন ধরনের Collections (যেমন List, Set, Map, Bag) এর সাথে জটিল কাজগুলো সহজভাবে পরিচালনা করার জন্য ইউটিলিটি ক্লাস এবং মেথড সরবরাহ করে।
এখানে আমরা আলোচনা করব কিছু গুরুত্বপূর্ণ complex operations যা আপনি Apache Commons Collections লাইব্রেরি ব্যবহার করে Collections এর উপর করতে পারেন।
CollectionUtils হল Apache Commons Collections লাইব্রেরির একটি ক্লাস যা অনেক ইউটিলিটি ফাংশন সরবরাহ করে। এটি আপনাকে collections এর উপর বিভিন্ন ধরনের complex operations সহজভাবে করার সুযোগ দেয়।
addAll() মেথডটি ব্যবহার করে আপনি একাধিক উপাদান একটি কালেকশনে একযোগে যোগ করতে পারেন। এটি List, Set, বা অন্য কোন Collection এর জন্য ব্যবহৃত হতে পারে।
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
public class ComplexOperationsExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("cherry");
list2.add("date");
// list2 এর সব উপাদান list1 তে যোগ করা
CollectionUtils.addAll(list1, "cherry", "date");
// নতুন list1 প্রিন্ট করা
System.out.println("Updated List: " + list1);
}
}
আউটপুট:
Updated List: [apple, banana, cherry, date]
এখানে:
এটি একটি Collection থেকে একাধিক উপাদান মুছে ফেলতে ব্যবহৃত হয়।
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
public class ComplexOperationsExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("cherry");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("cherry");
// list1 থেকে list2 এর উপাদান মুছে ফেলা
CollectionUtils.removeAll(list1, list2);
// নতুন list1 প্রিন্ট করা
System.out.println("Updated List: " + list1);
}
}
আউটপুট:
Updated List: [apple]
এখানে:
intersection() ফাংশনটি দুটি কালেকশনের মিল খুঁজে বের করে। এটি দুইটি কালেকশনের মধ্যে যে উপাদানগুলো সাধারণভাবে রয়েছে সেগুলো রিটার্ন করে।
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
public class ComplexOperationsExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("cherry");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("date");
// দুটি list এর মিল খোঁজা
List<String> intersection = (List<String>) CollectionUtils.intersection(list1, list2);
// মিলিত উপাদানগুলি প্রিন্ট করা
System.out.println("Intersection: " + intersection);
}
}
আউটপুট:
Intersection: [banana]
এখানে:
"banana"
।subtract() মেথডটি একটি Collection থেকে আরেকটি Collection এর উপাদান সরিয়ে দেয়।
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
public class ComplexOperationsExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("cherry");
List<String> list2 = new ArrayList<>();
list2.add("banana");
// list1 থেকে list2 এর উপাদান সরানো
CollectionUtils.subtract(list1, list2);
// নতুন list1 প্রিন্ট করা
System.out.println("Updated List: " + list1);
}
}
আউটপুট:
Updated List: [apple, cherry]
এখানে:
"banana"
সরিয়ে ফেলেছে।MapUtils ব্যবহার করে Map-এর উপর কিছু জটিল অপারেশন করা যায়, যেমন merge, get ইত্যাদি।
import org.apache.commons.collections4.MapUtils;
import java.util.HashMap;
import java.util.Map;
public class ComplexOperationsExample {
public static void main(String[] args) {
// একটি Map তৈরি করা
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
// Map থেকে মান বের করা
String value = MapUtils.getString(map, "key1");
// মান প্রিন্ট করা
System.out.println("Value for key1: " + value);
}
}
আউটপুট:
Value for key1: value1
import org.apache.commons.collections4.MapUtils;
import java.util.HashMap;
import java.util.Map;
public class ComplexOperationsExample {
public static void main(String[] args) {
// একটি Map তৈরি করা
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
// Map এ নতুন মান যোগ বা পুরানো মান আপডেট করা
MapUtils.merge(map, "key2", "value2");
// নতুন Map প্রিন্ট করা
System.out.println("Updated Map: " + map);
}
}
আউটপুট:
Updated Map: {key1=value1, key2=value2}
BagUtils দিয়ে আপনি Bag এর উপাদানগুলো পরিচালনা করতে পারেন।
import org.apache.commons.collections4.Bag;
import org.apache.commons.collections4.bag.HashBag;
public class ComplexOperationsExample {
public static void main(String[] args) {
// একটি Bag তৈরি করা
Bag<String> bag = new HashBag<>();
bag.add("apple");
bag.add("banana");
bag.add("apple");
// "apple" উপাদানের সংখ্যা বের করা
int count = bag.getCount("apple");
// ফলস্বরূপ সংখ্যা প্রিন্ট করা
System.out.println("Count of apple: " + count);
}
}
আউটপুট:
Count of apple: 2
এখানে:
"apple"
উপাদানটির উপস্থিতি ২ বার ট্র্যাক করা হয়েছে।Apache Commons Collections এর এই ধরনের ইউটিলিটি ফাংশনগুলি আপনাকে আপনার প্রোগ্রামের data manipulation আরও সহজ এবং কার্যকরী করতে সাহায্য করবে।